Skip to content

remove(console): drop the standalone Compose panel - #94

Merged
brettchien merged 1 commit into
mainfrom
remove/standalone-compose-panel
Aug 20, 2026
Merged

remove(console): drop the standalone Compose panel#94
brettchien merged 1 commit into
mainfrom
remove/standalone-compose-panel

Conversation

@brettchien

Copy link
Copy Markdown
Contributor

Brett: hard to understand how to use it; let's remove it first.

It was always a duplicate surface — the ADR itself flagged this at slice 6 ("where template/overlay authoring moves to once this standing section goes away isn't decided"). The [+ New fleet]/[+ Add instance] deploy panel (deploy.ts) already reaches the identical compose→preview→deploy engine as an action, with its own template/overlay pickers, preview, and deploy-to-ECS step — so removing the standalone one loses no capability, just the redundant standing "Library" JSON-authoring surface at the bottom of the Fleets screen.

What

  • Dropped #compose-standalone (index.html) and its init call (initComposeTab, main.ts) + the now-Fleets-screen-only updateScreen() toggle for it.
  • Trimmed compose.ts to just the shared pure helpers deploy.ts still imports (renderPreviewHtml, libraryNames, the Library/BundlePreview types) — dropped initComposeTab and the Tauri-invoke plumbing that only it used. compose.test.ts already only covered the pure functions, so no test changes needed.
  • Removed the standalone-only CSS (.compose-standalone, .compose-lib*, .compose-grid, .pane.compose, ...); kept everything deploy.ts's own compose step still renders with (.compose-form, .compose-select, .compose-preview/.compose-bundle-head/.compose-file*, .compose-deploy, .compose-input).

Verification

  • tsc --noEmit — clean
  • vitest run — 103/103 passing (compose.test.ts unchanged — pure-function coverage, nothing it tested was removed)
  • vite build — clean; dist/index.html down 17.27kB → 12.91kB
  • Playwright: confirmed #compose-standalone is gone from the DOM and [+ New fleet] still opens the deploy panel and reaches Compose normally.

🤖 Generated by Orca ('ecs-claude').

@brettchien

Copy link
Copy Markdown
Contributor Author

Second commit: also dropped the MANAGING identity panel (Brett's follow-up).

Removed #identity, identityHtml/renderIdentity/kindBadge, and every refreshIdentity() call site. Un-wrapped .mgmt-combo back to a plain #remote box (its own full border-radius again — the split top/bottom styling was only for sharing a box with Identity). Kept field()/.id-field — shared with the agent console's read-only header — and Source.runtimeContext()/RuntimeContext/its fixture, same reasoning as leaving Source.fsList alone when the Files panel came out (backend contract, not UI surface).

tsc/vitest (97/97 — 6 fewer, the removed identity tests)/vite build clean. Verified #identity is gone, #remote renders standalone correctly, and the agent console header (which reuses field()) still renders fine.

…y panel

Brett: hard to understand how to use the Compose panel, let's remove it
first — then also remove the MANAGING oab panel.

Compose: it was always a duplicate surface — the ADR itself flagged this at
slice 6 ("where template/overlay authoring moves to once this standing
section goes away isn't decided"). The `[+ New fleet]`/`[+ Add instance]`
deploy panel (`deploy.ts`) already reaches the identical compose→preview→
deploy engine as an action, with its own template/overlay pickers, preview,
and deploy-to-ECS step — removing the standalone one loses no capability,
just the redundant standing "Library" JSON-authoring surface.

Identity: `#identity`'s content (which AWS principal is managing this
cluster) is gone along with `.mgmt-combo` (the shared box PR #93 built for
it) — `#remote` is back to its own full-radius box, standalone.

## What
- Dropped `#compose-standalone` + its init (`initComposeTab`, `compose.ts`)
  and the now-Fleets-screen-only `updateScreen()` toggle for it. Trimmed
  `compose.ts` to the pure helpers `deploy.ts` still imports
  (`renderPreviewHtml`, `libraryNames`, the `Library`/`BundlePreview` types);
  `compose.test.ts` already only covered those, so no test changes there.
- Dropped `#identity`, `identityHtml`/`renderIdentity`/`kindBadge`
  (render.ts), and every `refreshIdentity()` call site (main.ts). Kept
  `field()` — shared with `agentConsoleHeaderHtml`'s `.ac-fields` — and
  `Source.runtimeContext()`/`RuntimeContext`/its fixture (backend contract,
  not UI surface — same call as leaving `Source.fsList` alone when the Files
  panel came out).
- CSS: removed both panels' exclusive rules; kept everything still shared
  with `deploy.ts`'s compose step or the agent console header.

## Verification
- `tsc --noEmit` — clean
- `vitest run` — 97/97 passing
- `vite build` — clean; `dist/index.html` 17.27kB → 12.34kB
- Playwright: confirmed both panels are gone from the DOM, `[+ New fleet]`
  still reaches Compose normally, and the agent console header (which reuses
  `field()`) still renders.

🤖 Generated by Orca ('ecs-claude').
@brettchien
brettchien force-pushed the remove/standalone-compose-panel branch from 25129bb to 4b80e94 Compare August 20, 2026 10:08
@brettchien
brettchien merged commit c7bc2a0 into main Aug 20, 2026
2 checks passed
@brettchien
brettchien deleted the remove/standalone-compose-panel branch August 20, 2026 10:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant